Automated Testing of Cloud Applications
نویسندگان
چکیده
Recently, cloud computing platforms, such as Microsoft Azure, are available to provide convenient infrastructures such that cloud applications could conduct cloud and data-intensive computing. To ensure high quality of cloud applications under development, developer testing (also referred to as unit testing) could be used. Generally, manual developer testing is time consuming and labor intensive. To reduce the manual efforts, developers could employ automated test generation tools. However, the behavior of a unit in a cloud application is often dependent on the state of the cloud environment. Applying an automated test generation tool faces the challenge to generate various cloud states for achieving effective testing, such as achieving high structural coverage of the cloud application. To address this challenge, we propose an approach to (1) use parameterized mock objects to mimic the behavior of the environment and, (2) apply dynamic symbolic execution (DSE), a state-of-the-art automated test generation technique, to both generate test inputs and mock cloud states to achieve high structural coverage. We apply our approach on some open-source Azure cloud applications. The result shows that our approach automatically generates test inputs and mocks cloud states to achieve high structural coverage.
منابع مشابه
Microservices Validation: Methodology and Implementation
Due to the wide spread of cloud computing, arises actual question about architecture, design and implementation of cloud applications. The microservice model describes the design and development of loosely coupled cloud applications when computing resources are provided on the basis of automated IaaS and PaaS cloud platforms. Such applications consist of hundreds and thousands of service instan...
متن کاملEnvironment Modeling for Automated Testing of Cloud Applications
Recently, cloud computing platforms, such as Microsoft Azure, are available to provide convenient infrastructures such that cloud applications could conduct cloud and data-intensive computing. To ensure high quality of cloud applications under development, developer testing (also referred to as unit testing) could be used. The behavior of a unit in a cloud application is dependent on the test i...
متن کاملModeling for Automated Cloud Application Testing
Developer testing (also called unit testing) can help ensure the development of high-quality cloud applications. However, unit testing normally can’t take into account all possible inputs because the input space is too large or even infinite. So, developers need criteria to decide which test inputs to use and when to stop testing. Effective use of criteria such as structural-code coverage can h...
متن کاملMagic Quadrant for Integrated Software Quality Suites
Software testing is one of the key processes in the delivery of applications. The market has been steadily maturing to deliver improved user success, but technology changes such as agile practices, mobile computing and cloud platforms can disrupt vendor evaluation for testers and test managers. The automated software quality (ASQ) assurance market is a subsegment of the overall software develop...
متن کاملEnabling automated integration testing of cloud application services in virtualized environments
Software development under the cloud computing model brings the advantage that new applications can be rapidly constructed by tailoring existing services. However, the use of Internet-based services as software components, leads to the development of applications in which some building blocks are hosted remotely, rather than locally in a controlled environment. This aspect of cloud-based develo...
متن کامل